<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>XMP Toolkit SDK: AdobeXMPCore::ICompositeNode_v1 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xmp_tagline_small.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">XMP Toolkit SDK
   &#160;<span id="projectnumber">6.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classAdobeXMPCore_1_1ICompositeNode__v1.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classAdobeXMPCore_1_1ICompositeNode__v1-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">AdobeXMPCore::ICompositeNode_v1 Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Version1 of the interface that serves as a base interface to all composite types of nodes in the XMP DOM ( like Arrays and Structures ).  
 <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for AdobeXMPCore::ICompositeNode_v1:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classAdobeXMPCore_1_1ICompositeNode__v1.png" usemap="#AdobeXMPCore::ICompositeNode_5Fv1_map" alt=""/>
  <map id="AdobeXMPCore::ICompositeNode_5Fv1_map" name="AdobeXMPCore::ICompositeNode_5Fv1_map">
<area href="classAdobeXMPCore_1_1INode__v1.html" title="Version1 of the interface that serves as a base interface to all types of nodes in the XMP DOM." alt="AdobeXMPCore::INode_v1" shape="rect" coords="233,56,456,80"/>
<area href="classAdobeXMPCommon_1_1ISharedObject.html" title="Interface that serves as the base interface of all the externally exposed interfaces." alt="AdobeXMPCommon::ISharedObject" shape="rect" coords="0,0,223,24"/>
<area href="classAdobeXMPCommon_1_1IVersionable.html" title="Interface that serves as the base interface for all the externally exposed interfaces which needs to ..." alt="AdobeXMPCommon::IVersionable" shape="rect" coords="233,0,456,24"/>
<area href="classAdobeXMPCommon_1_1IThreadSafe.html" title="Interface that serves as the base interface for all the externally exposed interfaces which needs to ..." alt="AdobeXMPCommon::IThreadSafe" shape="rect" coords="466,0,689,24"/>
<area href="classAdobeXMPCore_1_1IArrayNode__v1.html" title="Version1 of the interface that represents an Array Node of XMP DOM." alt="AdobeXMPCore::IArrayNode_v1" shape="rect" coords="116,168,339,192"/>
<area href="classAdobeXMPCore_1_1IStructureNode__v1.html" title="Version1 of the interface that represents a structure Node of XMP DOM." alt="AdobeXMPCore::IStructureNode_v1" shape="rect" coords="349,168,572,192"/>
<area href="classAdobeXMPCore_1_1IMetadata__v1.html" title="Version1 of the interface that represents the whole xmp metadata for an asset." alt="AdobeXMPCore::IMetadata_v1" shape="rect" coords="349,224,572,248"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae73e70a7e6188604f8254c1a1f70cdad"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913">eNodeType</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ae73e70a7e6188604f8254c1a1f70cdad">GetNodeTypeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path) const =0</td></tr>
<tr class="memdesc:ae73e70a7e6188604f8254c1a1f70cdad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the node type specified by the path relative to the composite node.  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ae73e70a7e6188604f8254c1a1f70cdad">More...</a><br /></td></tr>
<tr class="separator:ae73e70a7e6188604f8254c1a1f70cdad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6795e662d9daea5b88de08261488964b"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a6795e662d9daea5b88de08261488964b">AppendNode</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> &amp;node)=0</td></tr>
<tr class="memdesc:a6795e662d9daea5b88de08261488964b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends a given node as the child of the node.  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a6795e662d9daea5b88de08261488964b">More...</a><br /></td></tr>
<tr class="separator:a6795e662d9daea5b88de08261488964b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39f5d9b31976e7a243d11152cd57260b"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a39f5d9b31976e7a243d11152cd57260b">InsertNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> &amp;node, const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path)=0</td></tr>
<tr class="memdesc:a39f5d9b31976e7a243d11152cd57260b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a given node at the path relative to the composite node.  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a39f5d9b31976e7a243d11152cd57260b">More...</a><br /></td></tr>
<tr class="separator:a39f5d9b31976e7a243d11152cd57260b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c51c5296da4abb8fa5d5999f686602b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a2c51c5296da4abb8fa5d5999f686602b">ReplaceNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> &amp;node, const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path)=0</td></tr>
<tr class="memdesc:a2c51c5296da4abb8fa5d5999f686602b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces an existing node with the given node at the path relative to the composite node..  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a2c51c5296da4abb8fa5d5999f686602b">More...</a><br /></td></tr>
<tr class="separator:a2c51c5296da4abb8fa5d5999f686602b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c713f2e29d6d0e9d4a1ee800a679f06"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a1c713f2e29d6d0e9d4a1ee800a679f06">RemoveNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path)=0</td></tr>
<tr class="memdesc:a1c713f2e29d6d0e9d4a1ee800a679f06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the node specified by the path relative to the composite node.  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a1c713f2e29d6d0e9d4a1ee800a679f06">More...</a><br /></td></tr>
<tr class="separator:a1c713f2e29d6d0e9d4a1ee800a679f06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:ac896915e34b7570fe62d27fbc848def7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a597eaeb0ed86794ea01f74a5be0f88ed">spcINode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7">GetNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path) const</td></tr>
<tr class="memdesc:ac896915e34b7570fe62d27fbc848def7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the node specified by the path relative to the composite node.  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7">More...</a><br /></td></tr>
<tr class="separator:ac896915e34b7570fe62d27fbc848def7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dd2a64d53b361b96bdfb597c5e35579"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a0dd2a64d53b361b96bdfb597c5e35579">GetNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path)=0</td></tr>
<tr class="separator:a0dd2a64d53b361b96bdfb597c5e35579"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a313df9421df168266a32592732c25d9f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#a5386a735d9eb66d5859e4657dfeebb7c">spINodeIterator</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a313df9421df168266a32592732c25d9f">Iterator</a> ()=0</td></tr>
<tr class="memdesc:a313df9421df168266a32592732c25d9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an iterator object to iterate over all the child nodes of the composite node.  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a313df9421df168266a32592732c25d9f">More...</a><br /></td></tr>
<tr class="separator:a313df9421df168266a32592732c25d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad09d43a7a22e26ba759f6dc49d3b381"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab423c366f29043e79694f805bceddb56">spcINodeIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#aad09d43a7a22e26ba759f6dc49d3b381">Iterator</a> () const</td></tr>
<tr class="separator:aad09d43a7a22e26ba759f6dc49d3b381"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf3323ce933f5336bc0f64955c0bdd11"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#abf3323ce933f5336bc0f64955c0bdd11">ChildCount</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:abf3323ce933f5336bc0f64955c0bdd11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the count of child nodes of the composite node.  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#abf3323ce933f5336bc0f64955c0bdd11">More...</a><br /></td></tr>
<tr class="separator:abf3323ce933f5336bc0f64955c0bdd11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1886c4db1bc03f07e9a10391c65b73c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4cb671d44948c7505c33431ec12f6c1f">spcISimpleNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a1886c4db1bc03f07e9a10391c65b73c2">GetSimpleNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path) const</td></tr>
<tr class="memdesc:a1886c4db1bc03f07e9a10391c65b73c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a simple node specified by the path relative to the node.  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a1886c4db1bc03f07e9a10391c65b73c2">More...</a><br /></td></tr>
<tr class="separator:a1886c4db1bc03f07e9a10391c65b73c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42c91ca3eeded6302163a96903927445"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab20ecb8d094c1dd81cb278370b746343">spISimpleNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a42c91ca3eeded6302163a96903927445">GetSimpleNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path)</td></tr>
<tr class="separator:a42c91ca3eeded6302163a96903927445"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classAdobeXMPCore_1_1INode__v1"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classAdobeXMPCore_1_1INode__v1')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classAdobeXMPCore_1_1INode__v1.html">AdobeXMPCore::INode_v1</a></td></tr>
<tr class="memitem:a9883fe09ecbdfd7b47dd946ee71cc462 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913">eNodeType</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a9883fe09ecbdfd7b47dd946ee71cc462">GetNodeType</a> () const =0</td></tr>
<tr class="memdesc:a9883fe09ecbdfd7b47dd946ee71cc462 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the node type of the node.  <a href="classAdobeXMPCore_1_1INode__v1.html#a9883fe09ecbdfd7b47dd946ee71cc462">More...</a><br /></td></tr>
<tr class="separator:a9883fe09ecbdfd7b47dd946ee71cc462 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4b32471a18409430274af75d7086b3f inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913">eNodeType</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#ac4b32471a18409430274af75d7086b3f">GetParentNodeType</a> () const =0</td></tr>
<tr class="memdesc:ac4b32471a18409430274af75d7086b3f inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the node type of the node's parent.  <a href="classAdobeXMPCore_1_1INode__v1.html#ac4b32471a18409430274af75d7086b3f">More...</a><br /></td></tr>
<tr class="separator:ac4b32471a18409430274af75d7086b3f inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa087d2f94e42fdd5ece1bd22dfea66d5 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#aa087d2f94e42fdd5ece1bd22dfea66d5">SetName</a> (const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength)=0</td></tr>
<tr class="memdesc:aa087d2f94e42fdd5ece1bd22dfea66d5 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the local name of the node.  <a href="classAdobeXMPCore_1_1INode__v1.html#aa087d2f94e42fdd5ece1bd22dfea66d5">More...</a><br /></td></tr>
<tr class="separator:aa087d2f94e42fdd5ece1bd22dfea66d5 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40baa2818edf55f685d01100464c9256 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a91aaab1f1d7030b26df65258bd131a63">spcIUTF8String</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a40baa2818edf55f685d01100464c9256">GetName</a> () const =0</td></tr>
<tr class="memdesc:a40baa2818edf55f685d01100464c9256 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the local name of the node.  <a href="classAdobeXMPCore_1_1INode__v1.html#a40baa2818edf55f685d01100464c9256">More...</a><br /></td></tr>
<tr class="separator:a40baa2818edf55f685d01100464c9256 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55c6097b36412f9facc8a4cf7e898186 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a55c6097b36412f9facc8a4cf7e898186">SetNameSpace</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength)=0</td></tr>
<tr class="memdesc:a55c6097b36412f9facc8a4cf7e898186 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Changes the name space of the node.  <a href="classAdobeXMPCore_1_1INode__v1.html#a55c6097b36412f9facc8a4cf7e898186">More...</a><br /></td></tr>
<tr class="separator:a55c6097b36412f9facc8a4cf7e898186 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bc4e6cf5b261e61d039c1bdc746b751 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a91aaab1f1d7030b26df65258bd131a63">spcIUTF8String</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a7bc4e6cf5b261e61d039c1bdc746b751">GetNameSpace</a> () const =0</td></tr>
<tr class="memdesc:a7bc4e6cf5b261e61d039c1bdc746b751 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name space of the node.  <a href="classAdobeXMPCore_1_1INode__v1.html#a7bc4e6cf5b261e61d039c1bdc746b751">More...</a><br /></td></tr>
<tr class="separator:a7bc4e6cf5b261e61d039c1bdc746b751 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fbcb5a2b6f2842a5fa71fdf3b6a9b5b inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#aa54f5ed241da9437ad01c1047a199f56">spIPath</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a3fbcb5a2b6f2842a5fa71fdf3b6a9b5b">GetPath</a> () const =0</td></tr>
<tr class="memdesc:a3fbcb5a2b6f2842a5fa71fdf3b6a9b5b inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the path of the node from the root of the metadata.  <a href="classAdobeXMPCore_1_1INode__v1.html#a3fbcb5a2b6f2842a5fa71fdf3b6a9b5b">More...</a><br /></td></tr>
<tr class="separator:a3fbcb5a2b6f2842a5fa71fdf3b6a9b5b inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af898813d17af58fb1a828d92a74d7dd3 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#af898813d17af58fb1a828d92a74d7dd3">QualifiersCount</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:af898813d17af58fb1a828d92a74d7dd3 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the count of the qualifiers attached with the node.  <a href="classAdobeXMPCore_1_1INode__v1.html#af898813d17af58fb1a828d92a74d7dd3">More...</a><br /></td></tr>
<tr class="separator:af898813d17af58fb1a828d92a74d7dd3 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b0ad7bf2da0a7c83591c621e9f0d3da inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913">eNodeType</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a0b0ad7bf2da0a7c83591c621e9f0d3da">GetQualifierNodeType</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength) const =0</td></tr>
<tr class="memdesc:a0b0ad7bf2da0a7c83591c621e9f0d3da inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the type of the node's qualifier having specified namespace and name.  <a href="classAdobeXMPCore_1_1INode__v1.html#a0b0ad7bf2da0a7c83591c621e9f0d3da">More...</a><br /></td></tr>
<tr class="separator:a0b0ad7bf2da0a7c83591c621e9f0d3da inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a5e6dd9a58a288f20fd0a667a30a2ae inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a5a5e6dd9a58a288f20fd0a667a30a2ae">InsertQualifier</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> &amp;node)=0</td></tr>
<tr class="memdesc:a5a5e6dd9a58a288f20fd0a667a30a2ae inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts a given qualifier node.  <a href="classAdobeXMPCore_1_1INode__v1.html#a5a5e6dd9a58a288f20fd0a667a30a2ae">More...</a><br /></td></tr>
<tr class="separator:a5a5e6dd9a58a288f20fd0a667a30a2ae inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a2692b8281984d9fe6de6c169332f2c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a5a2692b8281984d9fe6de6c169332f2c">ReplaceQualifier</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> &amp;node)=0</td></tr>
<tr class="memdesc:a5a2692b8281984d9fe6de6c169332f2c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces a given qualifier node.  <a href="classAdobeXMPCore_1_1INode__v1.html#a5a2692b8281984d9fe6de6c169332f2c">More...</a><br /></td></tr>
<tr class="separator:a5a2692b8281984d9fe6de6c169332f2c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87f03e9924418ae5f7b6fa63def6eee8 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a87f03e9924418ae5f7b6fa63def6eee8">RemoveQualifier</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength)=0</td></tr>
<tr class="memdesc:a87f03e9924418ae5f7b6fa63def6eee8 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the qualifier node with the specified nameSpace and name.  <a href="classAdobeXMPCore_1_1INode__v1.html#a87f03e9924418ae5f7b6fa63def6eee8">More...</a><br /></td></tr>
<tr class="separator:a87f03e9924418ae5f7b6fa63def6eee8 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8cc00de4b34e13fbae3ed91a5a2fcfe inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual bool APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#aa8cc00de4b34e13fbae3ed91a5a2fcfe">IsArrayItem</a> () const =0</td></tr>
<tr class="memdesc:aa8cc00de4b34e13fbae3ed91a5a2fcfe inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates whether the node is a direct child of an array node.  <a href="classAdobeXMPCore_1_1INode__v1.html#aa8cc00de4b34e13fbae3ed91a5a2fcfe">More...</a><br /></td></tr>
<tr class="separator:aa8cc00de4b34e13fbae3ed91a5a2fcfe inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4839aa90a2f0f80513bf3bdf0fb16e52 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual bool APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a4839aa90a2f0f80513bf3bdf0fb16e52">IsQualifierNode</a> () const =0</td></tr>
<tr class="memdesc:a4839aa90a2f0f80513bf3bdf0fb16e52 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates whether the node is a qualifier node.  <a href="classAdobeXMPCore_1_1INode__v1.html#a4839aa90a2f0f80513bf3bdf0fb16e52">More...</a><br /></td></tr>
<tr class="separator:a4839aa90a2f0f80513bf3bdf0fb16e52 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ac1c4c3305ba83912d4e1ccf8398e1c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a9ac1c4c3305ba83912d4e1ccf8398e1c">GetIndex</a> () const =0</td></tr>
<tr class="memdesc:a9ac1c4c3305ba83912d4e1ccf8398e1c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the node in case it is an array item.  <a href="classAdobeXMPCore_1_1INode__v1.html#a9ac1c4c3305ba83912d4e1ccf8398e1c">More...</a><br /></td></tr>
<tr class="separator:a9ac1c4c3305ba83912d4e1ccf8398e1c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a404c043838e898b7a4b25da3acd0aee6 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual bool APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a404c043838e898b7a4b25da3acd0aee6">HasQualifiers</a> () const =0</td></tr>
<tr class="memdesc:a404c043838e898b7a4b25da3acd0aee6 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates whether the node has any qualifiers associated with it.  <a href="classAdobeXMPCore_1_1INode__v1.html#a404c043838e898b7a4b25da3acd0aee6">More...</a><br /></td></tr>
<tr class="separator:a404c043838e898b7a4b25da3acd0aee6 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b924ef4640528bff4470995b6ccaa6e inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual bool APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a7b924ef4640528bff4470995b6ccaa6e">HasContent</a> () const =0</td></tr>
<tr class="memdesc:a7b924ef4640528bff4470995b6ccaa6e inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the node has any content or not. return A bool value indicating the presence of contents in the node apart from qualifiers.  <a href="classAdobeXMPCore_1_1INode__v1.html#a7b924ef4640528bff4470995b6ccaa6e">More...</a><br /></td></tr>
<tr class="separator:a7b924ef4640528bff4470995b6ccaa6e inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35329cb38c6f1513d17ee688bb82a22d inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual bool APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a35329cb38c6f1513d17ee688bb82a22d">IsEmpty</a> () const =0</td></tr>
<tr class="memdesc:a35329cb38c6f1513d17ee688bb82a22d inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the node is empty. return A bool value indicating whether the contents and qualifiers of a node are empty.  <a href="classAdobeXMPCore_1_1INode__v1.html#a35329cb38c6f1513d17ee688bb82a22d">More...</a><br /></td></tr>
<tr class="separator:a35329cb38c6f1513d17ee688bb82a22d inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeefe5925ec13fdbc4525f12d5251bd09 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual bool APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#aeefe5925ec13fdbc4525f12d5251bd09">HasChanged</a> () const =0</td></tr>
<tr class="memdesc:aeefe5925ec13fdbc4525f12d5251bd09 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the status about any change done to the node or its children or qualifiers. returns a bool value indicating whether some changes have been performed on the node or its children or qualifiers. for a simple node, true will be returned in scenarios like when the node's value or qualifiers are modified. for an array node or a structure node, true will be returned in scenarios like when the node's children or the node's qualifiers are modified.  <a href="classAdobeXMPCore_1_1INode__v1.html#aeefe5925ec13fdbc4525f12d5251bd09">More...</a><br /></td></tr>
<tr class="separator:aeefe5925ec13fdbc4525f12d5251bd09 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a673b6b4d69b2c9d85f2fa440d413ace3 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a673b6b4d69b2c9d85f2fa440d413ace3">AcknowledgeChanges</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:a673b6b4d69b2c9d85f2fa440d413ace3 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Acknowledges that changes for the node and its children and qualifiers have been taken care of. for a simple node, changes that will be acknowledged in scenarios like when the node's value or node's qualifiers were modified. for an array node or a structure node, changes will be acknowledged in scenarios like when the node's children were or the node's qualifiers were modified.  <a href="classAdobeXMPCore_1_1INode__v1.html#a673b6b4d69b2c9d85f2fa440d413ace3">More...</a><br /></td></tr>
<tr class="separator:a673b6b4d69b2c9d85f2fa440d413ace3 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b615b0eef081f3c23385f28728aa462 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a4b615b0eef081f3c23385f28728aa462">Clear</a> (bool contents=true, bool qualifiers=true)=0</td></tr>
<tr class="memdesc:a4b615b0eef081f3c23385f28728aa462 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the contents of the node.  <a href="classAdobeXMPCore_1_1INode__v1.html#a4b615b0eef081f3c23385f28728aa462">More...</a><br /></td></tr>
<tr class="separator:a4b615b0eef081f3c23385f28728aa462 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8c37e29bd4f5756f43d2e74fd7f1f78 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#ac8c37e29bd4f5756f43d2e74fd7f1f78">Clone</a> (bool ignoreEmptyNodes=false, bool ignoreNodesWithOnlyQualifiers=false) const =0</td></tr>
<tr class="memdesc:ac8c37e29bd4f5756f43d2e74fd7f1f78 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual copy constructor.  <a href="classAdobeXMPCore_1_1INode__v1.html#ac8c37e29bd4f5756f43d2e74fd7f1f78">More...</a><br /></td></tr>
<tr class="separator:ac8c37e29bd4f5756f43d2e74fd7f1f78 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af85effa94b6697f30fb24ffe5251058d inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a597eaeb0ed86794ea01f74a5be0f88ed">spcINode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#af85effa94b6697f30fb24ffe5251058d">GetParent</a> () const</td></tr>
<tr class="memdesc:af85effa94b6697f30fb24ffe5251058d inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the parent node of the node.  <a href="classAdobeXMPCore_1_1INode__v1.html#af85effa94b6697f30fb24ffe5251058d">More...</a><br /></td></tr>
<tr class="separator:af85effa94b6697f30fb24ffe5251058d inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4533c1d11fc2d32c166c9ce05fe01b3c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a4533c1d11fc2d32c166c9ce05fe01b3c">GetParent</a> ()=0</td></tr>
<tr class="separator:a4533c1d11fc2d32c166c9ce05fe01b3c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d420e938ffbe8ac1ad8333b75b4e909 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab423c366f29043e79694f805bceddb56">spcINodeIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a8d420e938ffbe8ac1ad8333b75b4e909">QualifiersIterator</a> () const</td></tr>
<tr class="separator:a8d420e938ffbe8ac1ad8333b75b4e909 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa168f37bc38763df55fb1022d55886bd inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#a5386a735d9eb66d5859e4657dfeebb7c">spINodeIterator</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#aa168f37bc38763df55fb1022d55886bd">QualifiersIterator</a> ()=0</td></tr>
<tr class="separator:aa168f37bc38763df55fb1022d55886bd inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a027121cc4fe09198b30ac8aa5b0c42ce inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a597eaeb0ed86794ea01f74a5be0f88ed">spcINode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a027121cc4fe09198b30ac8aa5b0c42ce">GetQualifier</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength) const</td></tr>
<tr class="memdesc:a027121cc4fe09198b30ac8aa5b0c42ce inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the qualifier of the node having specified namespace and name.  <a href="classAdobeXMPCore_1_1INode__v1.html#a027121cc4fe09198b30ac8aa5b0c42ce">More...</a><br /></td></tr>
<tr class="separator:a027121cc4fe09198b30ac8aa5b0c42ce inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7701069162b4f677026624a5f2b3f788 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a7701069162b4f677026624a5f2b3f788">GetQualifier</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength)=0</td></tr>
<tr class="separator:a7701069162b4f677026624a5f2b3f788 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2271c7caa128bef549a9c6f14e84ce01 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4cb671d44948c7505c33431ec12f6c1f">spcISimpleNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a2271c7caa128bef549a9c6f14e84ce01">GetSimpleQualifier</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength) const</td></tr>
<tr class="memdesc:a2271c7caa128bef549a9c6f14e84ce01 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the node's qualifier having specified name space and name as simple node.  <a href="classAdobeXMPCore_1_1INode__v1.html#a2271c7caa128bef549a9c6f14e84ce01">More...</a><br /></td></tr>
<tr class="separator:a2271c7caa128bef549a9c6f14e84ce01 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2831fe03981afd9af12e775bda89361e inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab20ecb8d094c1dd81cb278370b746343">spISimpleNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a2831fe03981afd9af12e775bda89361e">GetSimpleQualifier</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength)</td></tr>
<tr class="separator:a2831fe03981afd9af12e775bda89361e inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff5a6f0ca72bbb3e061b869517731e1c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab5807ab783087243a3676a19ad6f9b90">spcIStructureNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#aff5a6f0ca72bbb3e061b869517731e1c">GetStructureQualifier</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength) const</td></tr>
<tr class="memdesc:aff5a6f0ca72bbb3e061b869517731e1c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the node's qualifier having specified name space and name as structure node.  <a href="classAdobeXMPCore_1_1INode__v1.html#aff5a6f0ca72bbb3e061b869517731e1c">More...</a><br /></td></tr>
<tr class="separator:aff5a6f0ca72bbb3e061b869517731e1c inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fb3c837b8c28501b2e7a3376a2cf382 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a957c57fcbb47c704fc5c31cf36dcbde7">spIStructureNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a4fb3c837b8c28501b2e7a3376a2cf382">GetStructureQualifier</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength)</td></tr>
<tr class="separator:a4fb3c837b8c28501b2e7a3376a2cf382 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac37c63b6272a5622811fdbf3b64892a2 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4ea338a9eed923abf6aba47a27926a0f">spcIArrayNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#ac37c63b6272a5622811fdbf3b64892a2">GetArrayQualifier</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength) const</td></tr>
<tr class="memdesc:ac37c63b6272a5622811fdbf3b64892a2 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the node's qualifier having specified name space and name as an array node.  <a href="classAdobeXMPCore_1_1INode__v1.html#ac37c63b6272a5622811fdbf3b64892a2">More...</a><br /></td></tr>
<tr class="separator:ac37c63b6272a5622811fdbf3b64892a2 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a2e68d1345ed6ca2e5d1bfada42b13f inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a24e8e82d63d879d77408ce5c7e30c609">spIArrayNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a5a2e68d1345ed6ca2e5d1bfada42b13f">GetArrayQualifier</a> (const char *nameSpace, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameSpaceLength, const char *name, <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> nameLength)</td></tr>
<tr class="separator:a5a2e68d1345ed6ca2e5d1bfada42b13f inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01e6678e13e955d7e679d50140d3adf2 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4cb671d44948c7505c33431ec12f6c1f">spcISimpleNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a01e6678e13e955d7e679d50140d3adf2">ConvertToSimpleNode</a> () const</td></tr>
<tr class="memdesc:a01e6678e13e955d7e679d50140d3adf2 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts Node to a simple node, if possible.  <a href="classAdobeXMPCore_1_1INode__v1.html#a01e6678e13e955d7e679d50140d3adf2">More...</a><br /></td></tr>
<tr class="separator:a01e6678e13e955d7e679d50140d3adf2 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8e7ef140cb5ff094789abfcc879c94b inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#ab20ecb8d094c1dd81cb278370b746343">spISimpleNode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#ad8e7ef140cb5ff094789abfcc879c94b">ConvertToSimpleNode</a> ()=0</td></tr>
<tr class="separator:ad8e7ef140cb5ff094789abfcc879c94b inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb268844559ffbc26aeb2d5cb7377817 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab5807ab783087243a3676a19ad6f9b90">spcIStructureNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#abb268844559ffbc26aeb2d5cb7377817">ConvertToStructureNode</a> () const</td></tr>
<tr class="memdesc:abb268844559ffbc26aeb2d5cb7377817 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts Node to a structure node type, if possible.  <a href="classAdobeXMPCore_1_1INode__v1.html#abb268844559ffbc26aeb2d5cb7377817">More...</a><br /></td></tr>
<tr class="separator:abb268844559ffbc26aeb2d5cb7377817 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5f62a4ae9a9630c8106a04bd0c2a0a3 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#a957c57fcbb47c704fc5c31cf36dcbde7">spIStructureNode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#ad5f62a4ae9a9630c8106a04bd0c2a0a3">ConvertToStructureNode</a> ()=0</td></tr>
<tr class="separator:ad5f62a4ae9a9630c8106a04bd0c2a0a3 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38b179d5f706cd23ab695e15152a4203 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4ea338a9eed923abf6aba47a27926a0f">spcIArrayNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a38b179d5f706cd23ab695e15152a4203">ConvertToArrayNode</a> () const</td></tr>
<tr class="memdesc:a38b179d5f706cd23ab695e15152a4203 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts Node to an array node type, if possible.  <a href="classAdobeXMPCore_1_1INode__v1.html#a38b179d5f706cd23ab695e15152a4203">More...</a><br /></td></tr>
<tr class="separator:a38b179d5f706cd23ab695e15152a4203 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d67ad7708fb6f007ea1152b79e65f49 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#a24e8e82d63d879d77408ce5c7e30c609">spIArrayNode</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a0d67ad7708fb6f007ea1152b79e65f49">ConvertToArrayNode</a> ()=0</td></tr>
<tr class="separator:a0d67ad7708fb6f007ea1152b79e65f49 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94b51acfab307b20d62f2bd183aa2948 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a1e81ce748e90e850d0a48b0b5943fce2">spcIMetadata</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a94b51acfab307b20d62f2bd183aa2948">ConvertToMetadata</a> () const</td></tr>
<tr class="memdesc:a94b51acfab307b20d62f2bd183aa2948 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts Node to a metadata node type, if possible.  <a href="classAdobeXMPCore_1_1INode__v1.html#a94b51acfab307b20d62f2bd183aa2948">More...</a><br /></td></tr>
<tr class="separator:a94b51acfab307b20d62f2bd183aa2948 inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72dc534e1af718599ac185563a02612a inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceAdobeXMPCore.html#a7f1de39fd79aeac4402eba73cb1ffe82">spIMetadata</a> APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a72dc534e1af718599ac185563a02612a">ConvertToMetadata</a> ()=0</td></tr>
<tr class="separator:a72dc534e1af718599ac185563a02612a inherit pub_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classAdobeXMPCommon_1_1ISharedObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html">AdobeXMPCommon::ISharedObject</a></td></tr>
<tr class="memitem:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#ab90d4ec1fcd975a7ac62dcb866335cdc">Acquire</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the clients of the object to indicate that he has acquired the shared ownership of the object.  <a href="classAdobeXMPCommon_1_1ISharedObject.html#ab90d4ec1fcd975a7ac62dcb866335cdc">More...</a><br /></td></tr>
<tr class="separator:ab90d4ec1fcd975a7ac62dcb866335cdc inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#abf5a54e09f87366170ea19c618f68bc3">Release</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the clients of the object to indicate he has released his shared ownership of the object. If this being the last client than this function should call Destroy to delete and release the memory.  <a href="classAdobeXMPCommon_1_1ISharedObject.html#abf5a54e09f87366170ea19c618f68bc3">More...</a><br /></td></tr>
<tr class="separator:abf5a54e09f87366170ea19c618f68bc3 inherit pub_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classAdobeXMPCommon_1_1IVersionable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classAdobeXMPCommon_1_1IVersionable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1IVersionable.html">AdobeXMPCommon::IVersionable</a></td></tr>
<tr class="memitem:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplParams" colspan="2">template&lt;typename requestedInterface &gt; </td></tr>
<tr class="memitem:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> requestedInterface *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#ad6539461695decfaea8a44798db51e54">GetInterfacePointer</a> ()</td></tr>
<tr class="memdesc:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw pointer to an interface object implementing the requested version.  <a href="classAdobeXMPCommon_1_1IVersionable.html#ad6539461695decfaea8a44798db51e54">More...</a><br /></td></tr>
<tr class="separator:ad6539461695decfaea8a44798db51e54 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplParams" colspan="2">template&lt;typename requestedInterface &gt; </td></tr>
<tr class="memitem:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> requestedInterface *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#a1827fc276dd3beb0df9aaab4ad1626d0">GetInterfacePointer</a> () const</td></tr>
<tr class="memdesc:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw pointer to a const interface object implementing the requested version.  <a href="classAdobeXMPCommon_1_1IVersionable.html#a1827fc276dd3beb0df9aaab4ad1626d0">More...</a><br /></td></tr>
<tr class="separator:a1827fc276dd3beb0df9aaab4ad1626d0 inherit pub_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classAdobeXMPCommon_1_1IThreadSafe"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classAdobeXMPCommon_1_1IThreadSafe')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1IThreadSafe.html">AdobeXMPCommon::IThreadSafe</a></td></tr>
<tr class="memitem:afe35614cb88e2bdb32996cf4ac15b211 inherit pub_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IThreadSafe.html#afe35614cb88e2bdb32996cf4ac15b211">EnableThreadSafety</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:afe35614cb88e2bdb32996cf4ac15b211 inherit pub_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the thread safety on an object.  <a href="classAdobeXMPCommon_1_1IThreadSafe.html#afe35614cb88e2bdb32996cf4ac15b211">More...</a><br /></td></tr>
<tr class="separator:afe35614cb88e2bdb32996cf4ac15b211 inherit pub_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a214bb1b5840dbd5576e764dd2220b261 inherit pub_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="memItemLeft" align="right" valign="top">virtual void APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IThreadSafe.html#a214bb1b5840dbd5576e764dd2220b261">DisableThreadSafety</a> () const <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="memdesc:a214bb1b5840dbd5576e764dd2220b261 inherit pub_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the thread safety on an object.  <a href="classAdobeXMPCommon_1_1IThreadSafe.html#a214bb1b5840dbd5576e764dd2220b261">More...</a><br /></td></tr>
<tr class="separator:a214bb1b5840dbd5576e764dd2220b261 inherit pub_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30d666826eba6dfed60c0760e145bee3 inherit pub_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="memItemLeft" align="right" valign="top">virtual bool APICALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IThreadSafe.html#a30d666826eba6dfed60c0760e145bee3">IsThreadSafe</a> () const =0</td></tr>
<tr class="memdesc:a30d666826eba6dfed60c0760e145bee3 inherit pub_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Informs whether object can be used across multiple threads or not.  <a href="classAdobeXMPCommon_1_1IThreadSafe.html#a30d666826eba6dfed60c0760e145bee3">More...</a><br /></td></tr>
<tr class="separator:a30d666826eba6dfed60c0760e145bee3 inherit pub_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5858c2e6428f671b62d637b46ec8c1fe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab5807ab783087243a3676a19ad6f9b90">spcIStructureNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a5858c2e6428f671b62d637b46ec8c1fe">GetStructureNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path) const</td></tr>
<tr class="memdesc:a5858c2e6428f671b62d637b46ec8c1fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a structure node specified by the path relative to the node.  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a5858c2e6428f671b62d637b46ec8c1fe">More...</a><br /></td></tr>
<tr class="separator:a5858c2e6428f671b62d637b46ec8c1fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2abb6cdf40e6d4c91e30b736586e89dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a957c57fcbb47c704fc5c31cf36dcbde7">spIStructureNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a2abb6cdf40e6d4c91e30b736586e89dc">GetStructureNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path)</td></tr>
<tr class="separator:a2abb6cdf40e6d4c91e30b736586e89dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d3850887dcf5c1f3e43b373dd157e85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4ea338a9eed923abf6aba47a27926a0f">spcIArrayNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a7d3850887dcf5c1f3e43b373dd157e85">GetArrayNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path) const</td></tr>
<tr class="memdesc:a7d3850887dcf5c1f3e43b373dd157e85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an array node specified by the path relative to the node.  <a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a7d3850887dcf5c1f3e43b373dd157e85">More...</a><br /></td></tr>
<tr class="separator:a7d3850887dcf5c1f3e43b373dd157e85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba3fc78fab746460b1e7e01fe2e004b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a24e8e82d63d879d77408ce5c7e30c609">spIArrayNode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#aba3fc78fab746460b1e7e01fe2e004b6">GetArrayNodeAtPath</a> (const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;path)</td></tr>
<tr class="separator:aba3fc78fab746460b1e7e01fe2e004b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51af220e29b40e8520ae5765f28515bf"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a51af220e29b40e8520ae5765f28515bf">~ICompositeNode_v1</a> () <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a></td></tr>
<tr class="separator:a51af220e29b40e8520ae5765f28515bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classAdobeXMPCore_1_1INode__v1"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classAdobeXMPCore_1_1INode__v1')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classAdobeXMPCore_1_1INode__v1.html">AdobeXMPCore::INode_v1</a></td></tr>
<tr class="memitem:a46b01045c1addbc8f444bd21384b7913 inherit pub_types_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913">eNodeType</a> { <br />
&#160;&#160;<a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913aae32cc414cc7adaf3b2a1c375f2cb3bb">kNTNone</a> = 0, 
<a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913a97e0c4fb69029d0d152c068c10736234">kNTSimple</a> = 1, 
<a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913a60c6b4c3dfc99d8584866f5f18ff2610">kNTArray</a> = 1 &lt;&lt; 1, 
<a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913a7542b80b3b688cd3d210d62d12dbe471">kNTStructure</a> = 1 &lt;&lt; 2, 
<br />
&#160;&#160;<a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913a68bac77fd8140a60490eb78f0b533e21">kNTAll</a> = kAllBits
<br />
 }</td></tr>
<tr class="memdesc:a46b01045c1addbc8f444bd21384b7913"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates various types of node available in XMP Data Model like simple, array and structure.  <a href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913">More...</a><br /></td></tr>
<tr class="separator:a46b01045c1addbc8f444bd21384b7913 inherit pub_types_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classAdobeXMPCore_1_1INode__v1"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classAdobeXMPCore_1_1INode__v1')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classAdobeXMPCore_1_1INode__v1.html">AdobeXMPCore::INode_v1</a></td></tr>
<tr class="memitem:affdbed044179bbde65ffc28b20e28ecb inherit pro_methods_classAdobeXMPCore_1_1INode__v1"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCore_1_1INode__v1.html#affdbed044179bbde65ffc28b20e28ecb">~INode_v1</a> () <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a></td></tr>
<tr class="separator:affdbed044179bbde65ffc28b20e28ecb inherit pro_methods_classAdobeXMPCore_1_1INode__v1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classAdobeXMPCommon_1_1ISharedObject')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html">AdobeXMPCommon::ISharedObject</a></td></tr>
<tr class="memitem:a5869ff89d0b7dd0a7b525401a1d57b31 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#a5869ff89d0b7dd0a7b525401a1d57b31">~ISharedObject</a> () <a class="el" href="XMPCommonDefines_8h.html#a5a929113d3d50bda3fb7135a5c8b24a2">__NOTHROW__</a>=0</td></tr>
<tr class="separator:a5869ff89d0b7dd0a7b525401a1d57b31 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb42109aed83c3b0c133bc413388037 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1ISharedObject.html#afcb42109aed83c3b0c133bc413388037">REQ_FRIEND_CLASS_DECLARATION</a> ()</td></tr>
<tr class="separator:afcb42109aed83c3b0c133bc413388037 inherit pro_methods_classAdobeXMPCommon_1_1ISharedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classAdobeXMPCommon_1_1IVersionable"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classAdobeXMPCommon_1_1IVersionable')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1IVersionable.html">AdobeXMPCommon::IVersionable</a></td></tr>
<tr class="memitem:a3ccd9a1bdf7008906e094fb4e7f69826 inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#a3ccd9a1bdf7008906e094fb4e7f69826">~IVersionable</a> ()</td></tr>
<tr class="separator:a3ccd9a1bdf7008906e094fb4e7f69826 inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac619a81b428c88cfce50feaa91a2479f inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IVersionable.html#ac619a81b428c88cfce50feaa91a2479f">REQ_FRIEND_CLASS_DECLARATION</a> ()</td></tr>
<tr class="separator:ac619a81b428c88cfce50feaa91a2479f inherit pro_methods_classAdobeXMPCommon_1_1IVersionable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classAdobeXMPCommon_1_1IThreadSafe"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classAdobeXMPCommon_1_1IThreadSafe')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classAdobeXMPCommon_1_1IThreadSafe.html">AdobeXMPCommon::IThreadSafe</a></td></tr>
<tr class="memitem:a0f31eb9677c4af06288319e363c21ebc inherit pro_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdobeXMPCommon_1_1IThreadSafe.html#a0f31eb9677c4af06288319e363c21ebc">REQ_FRIEND_CLASS_DECLARATION</a> ()</td></tr>
<tr class="separator:a0f31eb9677c4af06288319e363c21ebc inherit pro_methods_classAdobeXMPCommon_1_1IThreadSafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Version1 of the interface that serves as a base interface to all composite types of nodes in the XMP DOM ( like Arrays and Structures ). </p>
<p>Provides all the functions to get various properties of the composite node. </p><dl class="section attention"><dt>Attention</dt><dd>Support multi threading through locks but can be enabled/disabled by the client. By default every object created does not support multi-threading. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ICompositeNode_8h_source.html#l00027">27</a> of file <a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a51af220e29b40e8520ae5765f28515bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51af220e29b40e8520ae5765f28515bf">&#9670;&nbsp;</a></span>~ICompositeNode_v1()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual AdobeXMPCore::ICompositeNode_v1::~ICompositeNode_v1 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Destructor </p>

<p class="definition">Definition at line <a class="el" href="ICompositeNode_8h_source.html#l00259">259</a> of file <a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;{}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6795e662d9daea5b88de08261488964b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6795e662d9daea5b88de08261488964b">&#9670;&nbsp;</a></span>AppendNode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void APICALL AdobeXMPCore::ICompositeNode_v1::AppendNode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> &amp;&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Appends a given node as the child of the node. </p>
<p>In case of array node it is appended at the last and in case of structure node qualified name of the node to be inserted determines its position. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">node</td><td>Shared pointer to an object of #AdobeXMPCore::INode containing the node to be appended as the last child. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This operation is not currently implemented for the ICompositeNode interface. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Error is thrown in following cases:<ol type="1">
<li>provided node is invalid.</li>
<li>type of given node is not same as other child items of the array node.</li>
<li>given node is already a child of some other node.</li>
<li>composite node already has a child node with the same qualified name in case of structure node. </li>
</ol>
</dd></dl>

</div>
</div>
<a id="abf3323ce933f5336bc0f64955c0bdd11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf3323ce933f5336bc0f64955c0bdd11">&#9670;&nbsp;</a></span>ChildCount()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">sizet</a> APICALL AdobeXMPCore::ICompositeNode_v1::ChildCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the count of child nodes of the composite node. </p>
<dl class="section return"><dt>Returns</dt><dd>an object of type #<a class="el" href="namespaceAdobeXMPCommon.html#a1c85c2f558b495c3d41eabe692a96cf2">AdobeXMPCommon::sizet</a> containing the count of children of the node. </dd></dl>

</div>
</div>
<a id="aba3fc78fab746460b1e7e01fe2e004b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba3fc78fab746460b1e7e01fe2e004b6">&#9670;&nbsp;</a></span>GetArrayNodeAtPath() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a24e8e82d63d879d77408ce5c7e30c609">spIArrayNode</a> AdobeXMPCore::ICompositeNode_v1::GetArrayNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ICompositeNode_8h_source.html#l00193">193</a> of file <a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;                                                                                     {</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                        <span class="keyword">auto</span> node = <a class="code" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7">GetNodeAtPath</a>( path );</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                        <span class="keywordflow">if</span> ( node ) <span class="keywordflow">return</span> node-&gt;ConvertToArrayNode();</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                        <span class="keywordflow">return</span> <a class="code" href="namespaceAdobeXMPCore.html#a24e8e82d63d879d77408ce5c7e30c609">spIArrayNode</a>();</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a7d3850887dcf5c1f3e43b373dd157e85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d3850887dcf5c1f3e43b373dd157e85">&#9670;&nbsp;</a></span>GetArrayNodeAtPath() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4ea338a9eed923abf6aba47a27926a0f">spcIArrayNode</a> AdobeXMPCore::ICompositeNode_v1::GetArrayNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get an array node specified by the path relative to the node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Shared pointer to a const #AdobeXMPCore::IPath object containing the relative path from the node to the node client is interested in. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to const or non const #IArrayNode object containing node. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case no node exists at the given path an invalid shared pointer is returned. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Error is thrown in case<ul>
<li>a node exists at the given path but is not an array node. </li>
</ul>
</dd></dl>

<p class="definition">Definition at line <a class="el" href="ICompositeNode_8h_source.html#l00187">187</a> of file <a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;                                                                                            {</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                        <span class="keyword">auto</span> node = <a class="code" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7">GetNodeAtPath</a>( path );</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;                        <span class="keywordflow">if</span> ( node ) <span class="keywordflow">return</span> node-&gt;ConvertToArrayNode();</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                        <span class="keywordflow">return</span> <a class="code" href="namespaceAdobeXMPCore.html#a4ea338a9eed923abf6aba47a27926a0f">spcIArrayNode</a>();</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="ac896915e34b7570fe62d27fbc848def7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac896915e34b7570fe62d27fbc848def7">&#9670;&nbsp;</a></span>GetNodeAtPath() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a597eaeb0ed86794ea01f74a5be0f88ed">spcINode</a> AdobeXMPCore::ICompositeNode_v1::GetNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the node specified by the path relative to the composite node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Shared pointer to a const #AdobeXMPCore::IPath object containing the relative path from the node to the node client is interested in. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to either a const or non const #AdobeXMPCore::INode object containing node. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case no node exists at the given path an invalid shared pointer is returned. </dd></dl>

<p class="definition">Definition at line <a class="el" href="ICompositeNode_8h_source.html#l00049">49</a> of file <a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;                                                                                  {</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;                        <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> ICompositeNode_v1 * <span class="keyword">&gt;</span>( this )-&gt;<a class="code" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7">GetNodeAtPath</a>( path );</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a0dd2a64d53b361b96bdfb597c5e35579"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dd2a64d53b361b96bdfb597c5e35579">&#9670;&nbsp;</a></span>GetNodeAtPath() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL AdobeXMPCore::ICompositeNode_v1::GetNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae73e70a7e6188604f8254c1a1f70cdad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae73e70a7e6188604f8254c1a1f70cdad">&#9670;&nbsp;</a></span>GetNodeTypeAtPath()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classAdobeXMPCore_1_1INode__v1.html#a46b01045c1addbc8f444bd21384b7913">eNodeType</a> APICALL AdobeXMPCore::ICompositeNode_v1::GetNodeTypeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the node type specified by the path relative to the composite node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Shared pointer to a const #AdobeXMPCore::IPath object containing the relative path from the node to the node client is interested in. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The type of the node. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case no node exists at the given path a value #eNodeType::kNTNone is returned. </dd></dl>

</div>
</div>
<a id="a42c91ca3eeded6302163a96903927445"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42c91ca3eeded6302163a96903927445">&#9670;&nbsp;</a></span>GetSimpleNodeAtPath() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab20ecb8d094c1dd81cb278370b746343">spISimpleNode</a> AdobeXMPCore::ICompositeNode_v1::GetSimpleNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ICompositeNode_8h_source.html#l00147">147</a> of file <a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;                                                                                       {</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                        <span class="keyword">auto</span> node = <a class="code" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7">GetNodeAtPath</a>( path );</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;                        <span class="keywordflow">if</span> ( node ) <span class="keywordflow">return</span> node-&gt;ConvertToSimpleNode();</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                        <span class="keywordflow">return</span> <a class="code" href="namespaceAdobeXMPCore.html#ab20ecb8d094c1dd81cb278370b746343">spISimpleNode</a>();</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a1886c4db1bc03f07e9a10391c65b73c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1886c4db1bc03f07e9a10391c65b73c2">&#9670;&nbsp;</a></span>GetSimpleNodeAtPath() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a4cb671d44948c7505c33431ec12f6c1f">spcISimpleNode</a> AdobeXMPCore::ICompositeNode_v1::GetSimpleNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get a simple node specified by the path relative to the node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Shared pointer to a const #AdobeXMPCore::IPath object containing the relative path from the node to the node client is interested in. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to const or non const #ISimpleNode object containing node. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case no node exists at the given path an invalid shared pointer is returned. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Error is thrown in case<ul>
<li>a node exists at the given path but is not a simple node. </li>
</ul>
</dd></dl>

<p class="definition">Definition at line <a class="el" href="ICompositeNode_8h_source.html#l00141">141</a> of file <a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;                                                                                              {</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;                        <span class="keyword">auto</span> node = <a class="code" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7">GetNodeAtPath</a>( path );</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;                        <span class="keywordflow">if</span> ( node ) <span class="keywordflow">return</span> node-&gt;ConvertToSimpleNode();</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;                        <span class="keywordflow">return</span> <a class="code" href="namespaceAdobeXMPCore.html#a4cb671d44948c7505c33431ec12f6c1f">spcISimpleNode</a>();</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a2abb6cdf40e6d4c91e30b736586e89dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2abb6cdf40e6d4c91e30b736586e89dc">&#9670;&nbsp;</a></span>GetStructureNodeAtPath() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#a957c57fcbb47c704fc5c31cf36dcbde7">spIStructureNode</a> AdobeXMPCore::ICompositeNode_v1::GetStructureNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ICompositeNode_8h_source.html#l00170">170</a> of file <a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;                                                                                             {</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                        <span class="keyword">auto</span> node = <a class="code" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7">GetNodeAtPath</a>( path );</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                        <span class="keywordflow">if</span> ( node ) <span class="keywordflow">return</span> node-&gt;ConvertToStructureNode();</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                        <span class="keywordflow">return</span> <a class="code" href="namespaceAdobeXMPCore.html#a957c57fcbb47c704fc5c31cf36dcbde7">spIStructureNode</a>();</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a5858c2e6428f671b62d637b46ec8c1fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5858c2e6428f671b62d637b46ec8c1fe">&#9670;&nbsp;</a></span>GetStructureNodeAtPath() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab5807ab783087243a3676a19ad6f9b90">spcIStructureNode</a> AdobeXMPCore::ICompositeNode_v1::GetStructureNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get a structure node specified by the path relative to the node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Shared pointer to a const #AdobeXMPCore::IPath object containing the relative path from the node to the node client is interested in. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to const or non const #IStructureNode object containing node. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case no node exists at the given path an invalid shared pointer is returned. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Error is thrown in case<ul>
<li>a node exists at the given path but is not a structure node. </li>
</ul>
</dd></dl>

<p class="definition">Definition at line <a class="el" href="ICompositeNode_8h_source.html#l00164">164</a> of file <a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;                                                                                                    {</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;                        <span class="keyword">auto</span> node = <a class="code" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7">GetNodeAtPath</a>( path );</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;                        <span class="keywordflow">if</span> ( node ) <span class="keywordflow">return</span> node-&gt;ConvertToStructureNode();</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                        <span class="keywordflow">return</span> <a class="code" href="namespaceAdobeXMPCore.html#ab5807ab783087243a3676a19ad6f9b90">spcIStructureNode</a>();</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a39f5d9b31976e7a243d11152cd57260b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39f5d9b31976e7a243d11152cd57260b">&#9670;&nbsp;</a></span>InsertNodeAtPath()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void APICALL AdobeXMPCore::ICompositeNode_v1::InsertNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> &amp;&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Inserts a given node at the path relative to the composite node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">node</td><td>Shared pointer to an object of #AdobeXMPCore::INode containing the node to be inserted at the specified relative path. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Shared pointer to a const #AdobeXMPCore::IPath object containing the relative path. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>All the hierarchy of nodes is created if not present. </dd>
<dd>
This operation is not currently implemented for the ICompositeNode interface. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Error is thrown in following cases:<ol type="1">
<li>given node is invalid.</li>
<li>type of given node is not same as other child items of the array node.</li>
<li>given node is already a child of some other node.</li>
<li>given path is invalid or logically incorrect.</li>
<li>type of given node is not suitable for the destination location.</li>
<li>a node already exists at the specified path. </li>
</ol>
</dd></dl>

</div>
</div>
<a id="aad09d43a7a22e26ba759f6dc49d3b381"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad09d43a7a22e26ba759f6dc49d3b381">&#9670;&nbsp;</a></span>Iterator() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747">XMP_PRIVATE</a> <a class="el" href="namespaceAdobeXMPCore.html#ab423c366f29043e79694f805bceddb56">spcINodeIterator</a> AdobeXMPCore::ICompositeNode_v1::Iterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ICompositeNode_8h_source.html#l00118">118</a> of file <a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a>.</p>
<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;                                                              {</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;                        <span class="keywordflow">return</span> <span class="keyword">const_cast&lt;</span> ICompositeNode_v1 * <span class="keyword">&gt;</span>( this )-&gt;<a class="code" href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a313df9421df168266a32592732c25d9f">Iterator</a>();</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;                }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a313df9421df168266a32592732c25d9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a313df9421df168266a32592732c25d9f">&#9670;&nbsp;</a></span>Iterator() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCore.html#a5386a735d9eb66d5859e4657dfeebb7c">spINodeIterator</a> APICALL AdobeXMPCore::ICompositeNode_v1::Iterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get an iterator object to iterate over all the child nodes of the composite node. </p>
<dl class="section return"><dt>Returns</dt><dd>a shared pointer to a const or non const #INodeIterator object. </dd></dl>

</div>
</div>
<a id="a1c713f2e29d6d0e9d4a1ee800a679f06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c713f2e29d6d0e9d4a1ee800a679f06">&#9670;&nbsp;</a></span>RemoveNodeAtPath()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL AdobeXMPCore::ICompositeNode_v1::RemoveNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes the node specified by the path relative to the composite node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Shared pointer to a const #AdobeXMPCore::IPath object containing the relative path from the node to the node client is interested in. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A shared pointer to #AdobeXMPCore::INode object containing node which is removed from the tree. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>In case no node exists at the given path an invalid shared pointer is returned. </dd></dl>

</div>
</div>
<a id="a2c51c5296da4abb8fa5d5999f686602b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c51c5296da4abb8fa5d5999f686602b">&#9670;&nbsp;</a></span>ReplaceNodeAtPath()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> APICALL AdobeXMPCore::ICompositeNode_v1::ReplaceNodeAtPath </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aeec2c711a611cbc3c77ef1a0bb026e33">spINode</a> &amp;&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceAdobeXMPCore.html#aa01e44df0f17d2a1d959710ec856261c">spcIPath</a> &amp;&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Replaces an existing node with the given node at the path relative to the composite node.. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">node</td><td>Shared pointer to an object of #AdobeXMPCore::INode. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">path</td><td>Shared pointer to a const #AdobeXMPCore::IPath object containing the relative path. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a Shared pointer to the node being replaced. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>This operation is not currently implemented for the ICompositeNode interface. </dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Error is thrown in following cases:<ol type="1">
<li>given node is invalid.</li>
<li>type of given node is not same as other child items of the array node.</li>
<li>given node is already a child of some other node.</li>
<li>given index is less than 1 or greater than current child count.</li>
<li>type of given node is not suitable for the destination location.</li>
<li>no node exists at the specified path. </li>
</ol>
</dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>public/include/XMPCore/Interfaces/<a class="el" href="ICompositeNode_8h_source.html">ICompositeNode.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespaceAdobeXMPCore_html_a957c57fcbb47c704fc5c31cf36dcbde7"><div class="ttname"><a href="namespaceAdobeXMPCore.html#a957c57fcbb47c704fc5c31cf36dcbde7">AdobeXMPCore::spIStructureNode</a></div><div class="ttdeci">shared_ptr&lt; IStructureNode &gt; spIStructureNode</div><div class="ttdef"><b>Definition:</b> <a href="XMPCoreFwdDeclarations_8h_source.html#l00103">XMPCoreFwdDeclarations.h:103</a></div></div>
<div class="ttc" id="anamespaceAdobeXMPCore_html_ab20ecb8d094c1dd81cb278370b746343"><div class="ttname"><a href="namespaceAdobeXMPCore.html#ab20ecb8d094c1dd81cb278370b746343">AdobeXMPCore::spISimpleNode</a></div><div class="ttdeci">shared_ptr&lt; ISimpleNode &gt; spISimpleNode</div><div class="ttdef"><b>Definition:</b> <a href="XMPCoreFwdDeclarations_8h_source.html#l00079">XMPCoreFwdDeclarations.h:79</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1ICompositeNode__v1_html_a313df9421df168266a32592732c25d9f"><div class="ttname"><a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#a313df9421df168266a32592732c25d9f">AdobeXMPCore::ICompositeNode_v1::Iterator</a></div><div class="ttdeci">virtual spINodeIterator APICALL Iterator()=0</div><div class="ttdoc">Get an iterator object to iterate over all the child nodes of the composite node.</div></div>
<div class="ttc" id="anamespaceAdobeXMPCore_html_a24e8e82d63d879d77408ce5c7e30c609"><div class="ttname"><a href="namespaceAdobeXMPCore.html#a24e8e82d63d879d77408ce5c7e30c609">AdobeXMPCore::spIArrayNode</a></div><div class="ttdeci">shared_ptr&lt; IArrayNode &gt; spIArrayNode</div><div class="ttdef"><b>Definition:</b> <a href="XMPCoreFwdDeclarations_8h_source.html#l00115">XMPCoreFwdDeclarations.h:115</a></div></div>
<div class="ttc" id="anamespaceAdobeXMPCore_html_a4cb671d44948c7505c33431ec12f6c1f"><div class="ttname"><a href="namespaceAdobeXMPCore.html#a4cb671d44948c7505c33431ec12f6c1f">AdobeXMPCore::spcISimpleNode</a></div><div class="ttdeci">shared_ptr&lt; const ISimpleNode &gt; spcISimpleNode</div><div class="ttdef"><b>Definition:</b> <a href="XMPCoreFwdDeclarations_8h_source.html#l00080">XMPCoreFwdDeclarations.h:80</a></div></div>
<div class="ttc" id="anamespaceAdobeXMPCore_html_a4ea338a9eed923abf6aba47a27926a0f"><div class="ttname"><a href="namespaceAdobeXMPCore.html#a4ea338a9eed923abf6aba47a27926a0f">AdobeXMPCore::spcIArrayNode</a></div><div class="ttdeci">shared_ptr&lt; const IArrayNode &gt; spcIArrayNode</div><div class="ttdef"><b>Definition:</b> <a href="XMPCoreFwdDeclarations_8h_source.html#l00116">XMPCoreFwdDeclarations.h:116</a></div></div>
<div class="ttc" id="aclassAdobeXMPCore_1_1ICompositeNode__v1_html_ac896915e34b7570fe62d27fbc848def7"><div class="ttname"><a href="classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7">AdobeXMPCore::ICompositeNode_v1::GetNodeAtPath</a></div><div class="ttdeci">XMP_PRIVATE spcINode GetNodeAtPath(const spcIPath &amp;path) const</div><div class="ttdoc">Get the node specified by the path relative to the composite node.</div><div class="ttdef"><b>Definition:</b> <a href="ICompositeNode_8h_source.html#l00049">ICompositeNode.h:49</a></div></div>
<div class="ttc" id="anamespaceAdobeXMPCore_html_ab5807ab783087243a3676a19ad6f9b90"><div class="ttname"><a href="namespaceAdobeXMPCore.html#ab5807ab783087243a3676a19ad6f9b90">AdobeXMPCore::spcIStructureNode</a></div><div class="ttdeci">shared_ptr&lt; const IStructureNode &gt; spcIStructureNode</div><div class="ttdef"><b>Definition:</b> <a href="XMPCoreFwdDeclarations_8h_source.html#l00104">XMPCoreFwdDeclarations.h:104</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceAdobeXMPCore.html">AdobeXMPCore</a></li><li class="navelem"><a class="el" href="classAdobeXMPCore_1_1ICompositeNode__v1.html">ICompositeNode_v1</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
